草庐IT

jQuery UI 实例 - 部件库(Widget Factory)

全部标签

javascript - 从单例创建新实例

简介:我有一些创建单例的遗留代码:define(['backbone','MyModel'],function(Backbone,MyModel){varMyCollection=Backbone.Collection.extend({model:MyModel,initialize:function(){//...}});returnnewMyCollection();});出于测试目的,我需要生成新实例以将它们作为依赖项注入(inject)。问题:有没有办法在不修改原始代码的情况下生成新的单例实例?我做了什么:我想出了一个解决方案:将类添加为实例的属性initialize:func

javascript - 如何让实例从原型(prototype)函数中删除自身是 JavaScript

如果我有一个JavaScript构造函数,并且我在它的原型(prototype)上设置了一个destroy方法。是否可以从destroy方法中删除(或至少取消设置)实例?这是我正在尝试做的一个例子。Klass.prototype={init:function(){//dostuff},destroy:function(){//deletetheinstance}};k=newKlassk.destroy()console.log(k)//Iwantthistobeundefined我知道我不能简单地使用destroy方法来执行this=undefined,但我认为我可以通过像这样使用超

javascript - Meteor:可以检查应用程序是否已经在另一台计算机上打开实例?

是否可以在meteor中检查唯一客户端?这听起来有点奇怪。让我解释一下:我想让我的meteor应用程序同时只能在一台计算机上运行。但是我不能使用IP来检查,因为在同一个网络中也有计算机,所以外部服务器会有相同的IP。如果有人在第二台计算机上打开该应用程序,则应注销另一台计算机上的所有其他(打开的)应用程序实例(或类似的东西)。这个技术在meteor中可行吗?更新请注意,我不想阻止第二次登录,但如果用户登录,我想在所有其他设备上注销。 最佳答案 meteor内置了这个功能请检查Meteor.logoutOtherClients([ca

javascript - 如何在 Sails/Waterline 的生命周期回调中调用模型实例方法?

我已经建立了一个带有2个实例方法的简单模型。如何在生命周期回调中调用这些方法?module.exports={attributes:{name:{type:'string',required:true}//InstancemethodsdoSomething:function(cb){console.log('Letstry'+this.doAnotherThing('this'));cb();},doAnotherThing:function(input){console.log(input);}},beforeUpdate:function(values,cb){//Thisdoe

javascript - 如何在不指定模型名称的情况下从该模型的实例调用静态 Backbone.Model 函数?

我有一些静态属性,我想从我的Backbone.Model对象的实例中访问这些属性。我知道我可以硬编码父构造函数来调用该方法,但这会阻止我使用多态静态函数。例如,我希望能够在必要时覆盖ExtendedInventory中的foo函数,而无需更改任何其他代码。varInventory=Backbone.Model.extend({},//STATIC{foo:function(){alert('bar');}});vari=newInventory({});i.constructor.foo();//Thisworks!varExtendedInventory=Inventory.exte

javascript - WordPress 小部件中的动态输入字段

我正在尝试为我正在处理的主题的自定义小部件中的一组预定义标签创建动态输入字段。我想实现这样的目标:CourseNameFieldONEFieldTWO-------------------------------------------------------------ChemistrySprint2015Summer2015(-)Spring2016Summer2016(-)(+)-------------------------------------------------------------BiologySprint2015Summer2015(-)Fall2015Win

javascript - jQuery & Objects,试图制作一个轻量级的小部件

尝试制作一个可以动态添加元素的通用选择“控件”,但我无法让函数正常工作。这就是我的出发点。$select=$("");$select.addOption=function(value,text){$(this).append($("").val(value).text(text));};这单独运行良好,但任何时候$select是.clone(true)时addOption()函数都会丢失。这是我的对象方法,但该功能仍然不起作用。function$selectX(){return$("");}$selectX.prototype.addOption()=function(value,te

使用 Google Analytics 跟踪 Javascript 小部件

我正在尝试找出对Javascript小部件进行跟踪的最佳方法。我为一家非营利组织工作,我编写了一个Javascript小部件,网站可以将其嵌入到他们的网站上。他们放在网站上的代码片段有一个小部件容器(一个div),它加载了我们的.js文件。我们的.js文件使用HTML填充容器以显示图像和一些信息。我希望能够跟踪此小部件在其他站点上的使用情况以及它被加载(看到)的次数。我们在网站上使用GoogleAnalytics,这似乎是最有效的方式。我不想在小部件中嵌入我们的GA代码,因为这很可能会搞砸其他站点可能正在执行的任何GA跟踪。我的想法是包含一个隐藏的iframe,它可以在我们的网站上加载

javascript - jQuery 小部件没有方法 "extend"

我正在开发一个Wordpress网站,其中包含许多jQuery和jQueryUI相关的插件。一切似乎都运行良好,但当我们将整个网站移至新域名时,我开始在Chrome控制台中看到以下错误:未捕获的类型错误:对象函数(b,c,d){vare=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._cre

javascript - 为您的网站异步加载谷歌翻译小部件的方法?

有没有办法为您的网站异步加载Google翻译小部件?我尝试将它放在我的页面底部,但#google_translate_element容器仍然是空的。functiongoogleTranslateElementInit(){newgoogle.translate.TranslateElement({pageLanguage:'en',includedLanguages:'ar,bg,bn,de,el,eo,es,en,fr,hi,id,it,iw,ja,ko,pl,pt,ru,th,tr,vi,zh-CN',layout:google.translate.TranslateElement